package com.ming_za.od_updater_sdk.obj;

import java.util.Set;

/**
 * 更新记录对象
 * <p>仅记录当前软件版本和上一次更新的状态</p>
 * <p>如果上一次正常完成更新，当前版本则为上一次更新版本，未完成的版本则为0</p>
 * <p>如果上一次更新意外中断，当前版本则为更新前的版本，未完成的版本为上一次更新的版本，而资源id列表记录的是未完成更新的版本更新完成的资源</p>
 */
public class UpdateRecord{

    /**
     * 当前版本
     */
    private int version;

    /**
     * 上次更新未完成的版本，没有则为0
     */
    private int notCompletedVersion;

    /**
     * 未完成的版本中更新完成的资源id，如果<code>notCompletedVersion(未完成的版本) == 0</code>则,<code>resId.isEmpty==true</code>
     */
    private Set<Long> resId;

    public UpdateRecord(int version, int notCompletedVersion, Set<Long> resId) {
        this.version = version;
        this.notCompletedVersion = notCompletedVersion;
        this.resId = resId;
    }

    public int getVersion() {
        return version;
    }

    public void setVersion(int lastVersion) {
        this.version = lastVersion;
    }

    public int getNotCompletedVersion() {
        return notCompletedVersion;
    }

    public void setNotCompletedVersion(int notCompletedVersion) {
        this.notCompletedVersion = notCompletedVersion;
    }

    public Set<Long> getResId() {
        return resId;
    }

    public void setResId(Set<Long> resId) {
        this.resId = resId;
    }

    public boolean hasNotCompleted(){
        return notCompletedVersion != 0;
    }
}
